﻿using System;
using System.Collections.Generic;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections.Specialized;

namespace Kiva7.DataRequests
{
    public class DataRequestList<T>
        : List<T>,
          INotifyCollectionChanged
    {

        public event NotifyCollectionChangedEventHandler CollectionChanged;

        public void DoCollectionChanged(NotifyCollectionChangedEventArgs e)
        {
            if (CollectionChanged != null)
            {
                if (!Deployment.Current.Dispatcher.CheckAccess())
                {
                    Deployment.Current.Dispatcher.BeginInvoke(
                        () => DoCollectionChanged(e));
                }
                else
                {

                    CollectionChanged.Invoke(this, e);
                }
            }
        }
    }
}